--------------------------------------------------------------------------------
Super Sleuth Personal Edition v1.03
Super Nintendo Entertainment System TM Compatible Software Emulator
Copyright (C) 1998-2005 Kris Bleakley
--------------------------------------------------------------------------------

Last Updated 1st April 2005


Table of Contents

i.  Disclaimer
1.  Introduction
2.  System Requirements
3.  Getting Started
4.  Input Devices
5.  Development Tools
    5.1 State Inspector
        5.1.1 Tracing
        5.1.2 Breakpoints
        5.1.3 Watchpoints
    5.2 Transfer Gamepak
    5.3 State Manager
6.  Software Requirements
    6.1 Broadcast Satellaview
7.  Information Management
8.  Special Chips
9.  Bug Tracking
10. Special Thanks
11. Copyrights


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

i. Disclaimer (Please read before operating software)

This product is provided free of charge and therefore on an "AS IS" basis, 
without warranty of any kind, express or implied, including without limitation 
the warranties that it is free of defects, virus free, able to operate on an 
uninterrupted basis, merchantable, fit for a particular purpose or 
non-infringing. This Disclaimer of warranty constitutes an essential part of 
this agreement. No use of the product is authorised hereunder except under this 
disclaimer. This product is for non-commercial use only and shall not be 
packaged with any commercially licensed software.


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

1. Introduction

Super Sleuth is a Super Nintendo Compatible Software Emulator designed 
specifically for use with 32-bit Microsoft Windows Operating Systems. This 
product is designed to aid in the development of software intended for use on 
the Super Nintendo Entertainment System (SNES). The real-time-debug system 
allows the user to easily trace CPU operation and track bugs efficiently.

While a number of years have been spent perfecting the software, it is not
guaranteed to be 100% compatible. A knowledge of the 65816 processor is required
to use the real-time-debug system.

Features include:

* 128KB Backup RAM support (Support for various backup units)
* Support for various ROM formats (Max 64Mbit Cartridge Mode,
  96Mbit Game Doctor Mode)
* Memory Transfer to supported hardware devices
* Support for Standard Controller and Mouse
* State Transfer in both proprietary and RTS formats
* DSP Support (including DSP-1, DSP-2, OBC-1 and S-DD1)
* Advanced 24bit colour mapping technology
* Screen Capture in PNG format


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

2. System Requirements

Super Sleuth was developed on an Intel Pentium IV 1.4Ghz system (128MB System 
Memory) running Windows XP. It is recommended that you limit the number of 
programs running in the background as this software uses a lot of CPU time 
while running. Users of Windows XP should be aware that this program will 
operate much faster under Windows 9X/ME operating systems. Idle CPU time will 
be given back to the system once the program loses focus.

Minimum System Required

* Intel Pentium III 800Mhz or equivalent processor
* 32Mb Available System Memory
* 20Mb Available HDD space
* Microsoft Compatible Mouse and Keyboard
* Microsoft Windows 98
* Microsoft Direct-X 8

Recommended System Required

* Intel Pentium IV 1.4Ghz or equivalent processor
* 48Mb Available System Memory
* 20Mb Available HDD space
* Microsoft Compatible Mouse and Keyboard
* Microsoft Windows ME
* Microsoft Direct-X 8


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

3. Getting Started

Super Sleuth has been designed to be as user friendly as humanly possible, 
while retaining its purpose as a powerful development tool. To take advantage 
of a number of key development systems there are a few important details you 
will need to know before operating the software. For this software to be of any 
use, you will need ROM files. Under no circumstances will any ROM files be 
packaged with this software unless specified in this readme file.

It is recommended that you run Super Sleuth from a harddisk drive rather than 
from a read-only media such as a CD-ROM. On startup the in-built debug system 
will create a trace log file in the startup directory of the software. Failure 
to create this log file will result in the debugger not being able to trace CPU 
instructions. Also be aware that continual tracing of the system CPU will 
eventuate in the trace log growing rapidly in size.

Loading a ROM file is simple, just select load from the gamepak menu. A list of 
recently loaded (reload) files is also available from the gamepak menu. 
Alternatively, ROM files may also be loaded by dropping a file from windows 
explorer onto the main window. While this software is designed to load various 
ROM formats, the defacto format is of that used in Super Magicom/Wildcard 
backup devices. If for any reason a ROM file does not load correctly try 
converting to the defacto format (various conversion tools are available for 
download from the internet).

Each time a ROM file is loaded information about the ROM will be available on 
the General tab in the Properties window (the General tab will only be displayed
once a ROM file has been loaded). This information will also be written to the
trace log if tracing is available. The file will also be added to the top of the
reload list. If the file contains a header then this information will also be
available in hex/character format under the header tab (the header tab will only
be displayed if the software detects that the ROM file has a header). Optional
database support is also available to override ROM properties. The CRC32 value
will appear red in color should an entry not be found in the database or the
database does not exist.

The Properties window also contains various save options including the directory
where BackupRAM will be stored. This is ideal should the user be loading ROM
files from a read-only media such as a CD-ROM. If no save directory is specified
then the BackupRAM will be written to the directory where the ROM file resides.
The user can also specify the format to be used when storing BackupRAM. In most
cases this will inadvertently change the extension of the BackupRAM file. If a
loss of BackupRAM occurs be sure to check that the file extension matches the
currently selected format. BackupRAM will be automatically saved when another
gamepak is loaded or the program is terminated by the user.

Please note that there is no implemented feature to periodically save BackupRAM,
however BackupRAM maybe saved manually from the gamepak menu. In the event that
BackupRAM cannot be stored to disk, be sure to check that the save directory
exists and is blue in color. Should a ROM file need to be rewritten, the user
can specify whether the file will contain a header by checking the appropriate
checkbox (this has no bearing on the transfer to device covered later in this
readme file).

Once the ROM is loaded, the user can take screen captures in PNG format. The 
size of the image file will be determined by settings in the Properties window. 
Image files will be stored in the same location as specified for BackupRAM
and will be named as per the ROM file.


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

4. Input Devices

A variety of input devices have been developed for the Super Nintendo, nothing 
more standard than the controller that was packaged with the Control Deck. The
Configure Input Device Window allows the user to customize the buttons for two
standard control devices. Each button can be individually assigned by clicking
on the selected key. If the text for the selected button shows red in colour,
then the key selected is already assigned to another button. Each assigned key
can only be connected to a single button function.

Only two control devices are supported in this release, however future versions 
may support third party devices such as the Super Multi-tap for up to 8 connected 
control devices.

The following key functions are pre-defined:

~               Super Scope Turbo Toggle
Pause           Super Scope Pause Button
Esc             Restore windowed mode

Menu Shortcuts (not available in full-screen mode)

Ctrl-L          Load Gamepak
Ctrl-P          Save PNG
Ctrl-Enter      Hide/Show Properties Window
Ctrl-S          Save BackupRAM
Ctrl-Del        Reset


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

5. Development Tools

5.1 State Inspector

To be written.


5.2 Transfer Gamepak

This tool allows the user to send the loaded ROM image to a specified hardware
device. Depending on the hardware device selected, the ROM can be transferred
directly to the device via parallel port or to disk in a format recognised by the
device. Specific device headers are automatically generated if no ROM header is
present. Parallel transfer may not be available under Windows NT based operating
systems due to heightened security.

The following hardware devices are supported:

Super Wildcard
- Mode 20/21/30/31
- Disk and Parallel Transfer
- DD/HD/ED Floppy Formats

Super Wildcard (64Mbit)
- Mode 20/21/30/31/25/35
- Disk and Parallel Transfer
- DD/HD/ED Floppy Formats

Game Doctor SF III
- Mode 20/21/30/31
- Disk Transfer Only
- HD Floppy Format

The desired transfer device can be selected from the "Configure Tools" window,
which is accessible from the Tools menu. The transfer port and the option to 
enable/disable the transfer of BackupRAM are also selectable from this window.

Transfer to Disk

For maximum compatibility, filenames are limited to eight characters in length
and should not include a file extension. The file extension will be automatically 
determined when the ROM is written to disk (file extensions may differ if the ROM 
has to be split). If the filename does not include a path then the file will be 
sent to the default transfer path. Some Transfer Devices need filenames to conform 
to a specific format, see below for details.

Game Doctor Files

To be recognised by the transfer device, filenames should start with letters 'SF'
followed by the size of the ROM in megabits. The rest of the filename is not
specified except when the file is split. When the file is split the filename will
be automatically extended to eight characters where the eighth character will
become the split file identifier starting with the letter 'A'.

Hint:
The registry item 'TransferPath' holds the default transfer path 
(registry default = 'A:\').


5.3 State Manager

The State Manager is used to save and restore Break-Point Save (BPS) Files, the
proprietary state file format. BPS files contain all the vital information needed 
to restore a program to the exact position when saved. The BPS Format was designed
to be portable between emulators and as such does not contain any information that
is specific to a particular emulator. Gamepaks that contain special chips may not
be restored correctly. See bpsfmt.txt for further details on the format of the
Break-Point Save File.

The following options are available:

- Transfer Thumbnail

Bitmap block will be loaded/saved when enabled. If no bitmap block exists then
the preview will be blank. Each time a state is selected from the directory the
preview will be updated to reflect the new selection.

- Transfer SRAM

SRAM block will be loaded/saved when enabled. Loading a state that contains SRAM
with SRAM Transfer enabled will overwrite the current SRAM file. Uncheck this
option if you do not want SRAM to be replaced. SRAM transfer may be required for
particular games and certain co-processors may override this setting.

Note:
State files should be named as per the ROM file and carry an extension of 'Sxx',
where xx is a number, 00 through 99. State files created by other emulators are
not recognised. File conversion tools may or may not be available. Programs that
create Break-Point Save files should contain relevant product, date and version
information in the version block.


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

6. Software Requirements

6.1 Broadcast Satellaview

In order for many of the Broadcast Satellaview (BS) games to function correctly,
the BS-X program has to be loaded into memory as well as the game. On detection
of a BS game, BS-X will be loaded from the startup directory. The file containing
BS-X should be named appriopriately, 'BS-X.SFC'.

The BS-X program has to be run once before loading any BS Games to create 'BS-X.SRM'
which is also required to run BS Games.

While limited support for the BS-X cartridge has been added, the Satellaview base
registers are currently not emulated. Not all BS games are playable.


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

7. Information Management

If you have any corrections or information that is not recorded in the Super
Sleuth database, send me an email at jnrsleuth@gmail.com.

Information required for PCB Indentification:

* Gamepak title
* PCB Identification string
* ROM Identification string
* CRC32 of the ROM (required when multiple versions exist in the database)

Example:

Super Mario World (Europe), SHVC-1A1B-06, SPAL-MW-1

A complete listing of the database can be found at
http://users.tpg.com.au/advlink/spx/list.html


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

8. Special Chips

While an effort has been made to add support for special chips, not all chips
are fully supported.


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

9. Bug Tracking

When submitting bug reports be certain to include a copy of the ROM information
from the trace file. To help replicate software related bugs please submit a
Break-Point Save file with your report. Make sure to enable SRAM transfer for
bug reports, by default SRAM transfer is disabled.

All bug reports can be emailed to jnrsleuth@gmail.com


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

10. Special Thanks

In no particular order I would like to thank the following people for their help
and contributions to the scene.

Y0shi
Gary Henderson and Jerremy Koot
zsknight, _Demo_ and pagefault
Matthew Kendora and Brad Jorsch
Cowering and Nach
Andreas Naive
John Weidman
Neviksti


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

11. Copyrights

"Microsoft Windows" is a trademark of Microsoft Corporation.
"Super Nintendo Entertainment System", "Super NES", and "Super Famicom" are 
trademarks of Nintendo Co.,Ltd.
"Super Wildcard" is a trademark of Front Fareast Industrial Corporation.
"Game Doctor" is a trademark of Bung Enterprises.
